package br.com.foxinline.servico;

import br.com.foxinline.modelo.Cidade;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.Query;

/**
 *
 * @author laverson
 */
@Stateless
public class CidadeServico extends ServicoGenerico<Cidade> {

    public CidadeServico() {
        super(Cidade.class);
    }
    
    public List<Cidade> autoComplete(String query){
        return findByName(query);
    }
    
    public List<Cidade> findByName(String query){
        List<Cidade> results = getEntityManager().createQuery("select c from " + Cidade.class.getSimpleName() + " c where lower(c.nome) like '%" + query.toLowerCase().trim() + "%'").getResultList();
        return results;
    }
    
    public List<Cidade> autocomplete(String name) {
        List<Cidade> lista;
        String sql = "Select c from Cidade c where lower(c.nome) like lower(:nome)";
        Query query = getEntityManager().createQuery(sql).setMaxResults(50);

        if (name != null) {
            query.setParameter("nome", "" + name + "%");
        }

        lista = query.getResultList();
        return lista;
    }

    @Override
    public List<Cidade> pesquisar(Cidade entity, int first, int pageSize) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    
}
